/**
 * 有意思设计：返回一个数组，如果第一个有值代表正确的返回，否则是错误的
 * @param {*} fn
 * @returns
 */
async function useWrapper(fn) {
  try {
    let data = await fn();
    return [data, null];
  } catch (error) {
    return [null, error];
  }
}

// 原来的调用方式
// let data;
// try {
//     data = await originFunc();
// } catch (e) {
//     data = null;
// }

// 包装之后的调用方式
const [data, err] = await useWrapper(originFunc);
